
.lwq-tooltip {
  --lwq-popover-bg-color: var(--lwq-bg-color-overlay);
  --lwq-popover-font-size: var(--lwq-font-size-base);
  --lwq-popover-border-color: var(--lwq-border-color);
  --lwq-popover-padding: 12px;
  --lwq-popover-border-radius: 4px;
  display: inline-block;
}

.lwq-tooltip {
  .lwq-tooltip__popper {
    background: var(--lwq-popover-bg-color);
    border-radius: var(--lwq-popover-border-radius);
    border: 1px solid var(--lwq-popover-border-color);
    padding: var(--lwq-popover-padding);
    color: var(--lwq-text-color-regular);
    line-height: 1.4;
    text-align: justify;
    font-size: var(--lwq-popover-font-size);
    box-shadow: var(--lwq-box-shadow-light);
    word-break: break-all;
    box-sizing: border-box;
    z-index: 1000;
    #arrow,
    #arrow::before {
      position: absolute;
      width: 8px;
      height: 8px;
      box-sizing: border-box;
      background: var(--lwq-popover-bg-color);
    }
    #arrow {
      visibility: hidden;
    }
    #arrow::before {
      visibility: visible;
      content: "";
      transform: rotate(45deg);
    }
    &[data-popper-placement^='top'] > #arrow {
      bottom: -5px;
    }
    
    &[data-popper-placement^='bottom'] > #arrow {
      top: -5px;
    }
    
    &[data-popper-placement^='left'] > #arrow {
      right: -5px;
    }
    
    &[data-popper-placement^='right'] > #arrow {
      left: -5px;
    }
    &[data-popper-placement^="top"] > #arrow::before {
      border-right: 1px solid var(--lwq-popover-border-color);
      border-bottom: 1px solid var(--lwq-popover-border-color);
    }
    &[data-popper-placement^="bottom"] > #arrow::before {
      border-left: 1px solid var(--lwq-popover-border-color);
      border-top: 1px solid var(--lwq-popover-border-color);
    }
    &[data-popper-placement^="left"] > #arrow::before {
      border-right: 1px solid var(--lwq-popover-border-color);
      border-top: 1px solid var(--lwq-popover-border-color);
    }
    &[data-popper-placement^="right"] > #arrow::before {
      border-left: 1px solid var(--lwq-popover-border-color);
      border-bottom: 1px solid var(--lwq-popover-border-color);
    }
  }  
  .fade-enter-active,
  .fade-leave-active {
    transition: opacity var(--lwq-transition-duration) ease;
  }

  .fade-enter-from,
  .fade-leave-to {
    opacity: 0;
  }
}
